/**
 * ZbiorWielobokow.h
 *
 * Version: $Id: ZbiorWielobokow.h 78 2012-01-07 11:54:28Z s8376@pjwstk.edu.pl $
 */

#ifndef ZBIORWIELOBOKOW_H_
#define ZBIORWIELOBOKOW_H_

#include "Wielobok.h"

class ZbiorWielobokow
{
    private:
        Wielobok **_collection;
        int _collectionSize;
    public:
        /**
         * konstruktor pobierający liczbę określającą ilość wieloboków
         */
        ZbiorWielobokow(int value);
        /**
         * konstruktor kopiujący
         */
        ZbiorWielobokow(const ZbiorWielobokow& ob);
        /**
         * destruktor
         */
        ~ZbiorWielobokow();
        /**
         * funkcję show(), wypisującą informacje o wszystkich wielobokach
         */
        bool show();
        /**
         * funkcję insert(const Wielobok & w, int pos), wstawiającą kopię wieloboka o referencji w na pozycję pos
         */
        void insert(const Wielobok&, int);
        /**
         * funkcję delete(int pos), usuwającą wielobok z pozycji pos
         */
        void deleteObject(int);
        /**
         * funkcję get_max(), zwracającą referencję do obiektu przechowującego informacje o wieloboku o największym obwodzie
         */
        Wielobok get_max();
};

#endif /* ZBIORWIELOBOKOW_H_ */
